package educar.inscripcion;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;
import java.sql.ResultSet;

import javax.swing.JButton;
import javax.swing.JOptionPane;

import educar.manejoTablas.Tablas;
import educar.materia.*;
import educar.actividad.ActividadController;
import educar.alumno.*;
import educar.db.JPA;
import educar.inscripcion.*;

public class InscripcionMateriaMediador implements ActionListener{
	
	private InscripcionMateriaVentana view = new InscripcionMateriaVentana();
		
	public InscripcionMateriaMediador(String codigo){
		actualizarTabla(codigo);
		view.setVisible(true);
		view.addActionListener(this);
	}

	@SuppressWarnings("deprecation")
	public void actionPerformed(ActionEvent e) {
		Object obj = e.getSource();
		if(obj instanceof JButton){
			ListenerEvent(((JButton) obj).getLabel());
		}
	}
	
	private void actualizarTabla (String codigo){
		String[] columNames = {"codigo","nombre"};
		ResultSet res = InscripcionMateriaController.listar(codigo); 
		view.setTable (Tablas.crearTabla(res,columNames));
	}

	
	private void ListenerEvent(String event){
		if (event.compareTo("Inscribir")==0){
			String codM = view.getCodMat();
			String dni = view.getDni();
			if (!MateriaController.existe(codM)){
				JOptionPane.showMessageDialog(null, "La materia no existe");
			}
			else{
				if(!AlumnoController.existe(dni)){
					JOptionPane.showMessageDialog(null, "El alumno no existe");
			}
			else{
				InscripcionMateria in = new InscripcionMateria (codM,dni);
				InscripcionMateriaController.save(in);
				JOptionPane.showMessageDialog(null, "Se ha inscripto con exito.");
			    view.limpiar();
			    }
			}
		}
			
		if (event.compareTo("Cancelar")==0)
			view.dispose();
		
	}
}
